const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

let initArr = []
rl.on("line", (line) => {
    if(initArr.length === 0) {
        initArr = line.trim().split(" ")
        getResult(initArr)
        // clear
        initArr.length = 0
    }
});

function getResult(initArr) {
    // 判断是否全0
    let str = initArr.join("")
    let reg = /[1-9]/
    if(!reg.test(str)) {
        console.log("0")
        return
    }

    // 开始排序
    initArr.sort((a, b)=>{
        let c =  a + b;
        let d = b + a;
        return c === d ? 0 : c < d ? -1 : 1
        //if(c < d){
        //    return -1
        //} else if(c > d){
        //    return 1
        //} else {
        //    return 0
        //}
    })

    // 判断都带首0
    let flag = true;
    for (const str of initArr) {
        if(str.charAt(0) !== "0") {
            flag = false;
            break
        }
    }

    if(flag) { // 首位都带0
        // 处理首元素
        let str = initArr.shift()
        initArr.unshift(Number(str).toString())
        console.log(initArr.join(""))
        return
    } else {
        // 判断首位的第一个字符是不是0
        if(initArr[0].charAt(0) === "0") {
            // 需要交换位置, 到第一个首字符不为0的数
            for (let i = 1; i < initArr.length ; i++) {
                if(initArr[i].charAt(0) !== "0"){
                    let temp = initArr[i]
                    initArr.unshift(temp)
                    initArr[i] = ""
                    break;
                }
            }
        }
        console.log(initArr.join(""))
        return;
    }
}